处理异常
URLError
URLError类来自urllib库的error模块(urllib.error.URLError),它继承自OSError类,是error异常模块的基类,处理由request模块产生的异常。1
2
3
4
5
6
7from urllib import request, error
try:
response = request.urlopen('https://www.baidu.com')
except error.URLError as e:
print(e.reason)
# [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:847)
HTTPError
HTPError是URLError的子类,专门用来处理HTTP请求的错误,它有3个属性:
- code:返回HTTP状态码
- reason:同父类一样返回错误的原因
- headers:返回请求头
特性:因为URLError是HTTPError的父类,所以先捕获子类的错误再捕获父类错误
1 | from urllib import error,request |